import axios from 'axios'

// baseURL, 不使用代理时的请求服务地址
// axios.defaults.baseURL = 'http://localhost:8080/shop';
// 请求超时时间
axios.defaults.timeout = 5000;

axios.interceptors.request.use((config)=>{
    // 拦截请求, 做发送前的处理
    //TODO: 例如添加自定义 token
    //获取登录成功时存储的token
    let token = localStorage.getItem('token');
    config.headers.token = token;
	return config;// 处理完后, 返回 config
}, (err)=>{
    // 拦截 http code 异常等, 可进行相关提示
    console.log('axios-interceptor-request-err:', err);
    //console.log({message: '请求出错，信息：' + err.message});
    return {msg: err.message};
});

axios.interceptors.response.use((res)=>{
	// 拦截响应, 做响应的处理, 例如处理 服务端code的错误全局提示
	return res;// 处理完后, 返回 res
}, (err)=>{
	// 拦截 http code 异常等, 可进行相关提示
    console.log('axios-interceptor-response-err:', err);
    if(err.response) {
        let status = err.response.status;
        console.log('err-response:', err.response);
        if(status >= 500) {
            return {code: status, msg: '服务器出错!'};
        } else if(status == 404 ) {
            return {code: status, msg: '找不到对应的资源'};
        } else {
            return {code: status, msg: err.message};
        }
    } else if(err.code == 'ERR_NETWORK') {
        return {msg: '网络错误!\n请检查网络!'};
    }
    // 发送请求时出了问题，查看错误描述
    //console.log('响应出错，信息：' + err.message);
    return {msg: err.message};
});

//导出
export default axios